using System;
using System.Data;
using System.Configuration;
using System.Web;

namespace Danser_Entity.Queries.Filters
{
    /// <summary>
    /// SELECTable DB Tables 
    /// </summary>
    public enum Groups
    {
        /// <summary>
        /// TestInfo table
        /// </summary>
        Information,
        /// <summary>
        /// TestParams table
        /// </summary>
        Parameters,
        /// <summary>
        /// TestResults table
        /// </summary>
        Results,
        /// <summary>
        /// User table
        /// </summary>
        Users,
        /// <summary>
        /// ValidationTemplate table
        /// </summary>
        ValidationTemplates,
    }

    /// <summary>
    /// SELECTable fields from the TestInfo DB Table  
    /// </summary>
    public enum TestInfoFields
    {   //field name:
        /// <summary>
        /// string - unique identifier for the test
        /// </summary>
        TestInfoIndex,
        /// <summary>
        /// string - the person who performed the test
        /// </summary>
        Operator,
        /// <summary>
        /// string - date the test was taken
        /// </summary>
        Date,
        /// <summary>
        /// string - time the test was taken
        /// </summary>
        Time,
        /// <summary>
        /// string - name of the test
        /// </summary>
        TestName,
        /// <summary>
        /// string - test related information
        /// </summary>
        APType,
        /// <summary>
        /// string - test related information
        /// </summary>
        APIP,
        /// <summary>
        /// string - test related information
        /// </summary>
        APFWVer,
        /// <summary>
        /// string - test related information
        /// </summary>
        NICMAC,
        /// <summary>
        /// string - test related information
        /// </summary>
        NICType,
        /// <summary>
        /// string - test related information
        /// </summary>
        ProjectName,
        /// <summary>
        /// string - test related information
        /// </summary>
        OS,
        /// <summary>
        /// string - test related information
        /// </summary>
        TIC,
        /// <summary>
        /// string - test related information
        /// </summary>
        SetupName,
        /// <summary>
        /// string - test related information
        /// </summary>
        PlatformModel,
        /// <summary>
        /// string - test related information
        /// </summary>
        PlatformName,
        /// <summary>
        /// string - test related information
        /// </summary>
        TrafficProtocol,
        /// <summary>
        /// boolean - has the test been confirmed by a manager
        /// </summary>
        isConfirmed,
        /// <summary>
        /// boolean - is the test an anchor for other tests
        /// </summary>
        isAnchor,
    }

    /// <summary>
    /// SELECTable fields from the TestParams DB Table  
    /// </summary>
    public enum TestParamsFields
    {   //field name: 
        /// <summary>
        /// string - test parameters related information
        /// </summary>
        Channel,
        /// <summary>
        /// int - test parameters related information
        /// </summary>
        ChannelWidth,
        /// <summary>
        /// string - test parameters related information
        /// </summary>
        Band,
    }

    /// <summary>
    /// SELECTable fields from the TestResults DB Table  
    /// </summary>
    public enum TestResultsFields
    {   
        /// <summary>
        /// int - test parameters related information
        /// </summary>
        Attenuation,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RXMin,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RXAvg,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RXMax,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        TXMin,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        TXAvg,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        TXMax,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RSSI1,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RSSI2,
        /// <summary>
        /// double - test parameters related information
        /// </summary>
        RSSI3,
    }

    /// <summary>
    /// SELECTable fields from the Users DB Table  
    /// </summary>
    public enum UsersFields
    {  
        /// <summary>
        /// string - unique identifier for the user
        /// </summary>
        UserID,
        /// <summary>
        /// string - user name
        /// </summary>
        UserName,
        /// <summary>
        /// string - user permission level
        /// </summary>
        PermissionLevel,
    }

    /// <summary>
    /// SELECTable fields from the ValidationTemplates DB Table  
    /// </summary>
    public enum ValidationTemplatesFields
    {   
        /// <summary>
        /// string - template name
        /// </summary>
        Name,
        /// <summary>
        /// boolean - is the template checked by default
        /// </summary>
        AppliedOnDefault,
    }

}
